unit u_rechteck;

interface

uses Graphics, ExtCtrls, u_Punkt;

type
   T_Rechteck = class(T_Punkt)   // Die Klasse Rechteck erbt von T_Punkt
      protected
         breite : integer;   //Koordinaten der unteren rechten Ecke;
         hoehe : integer;

      public
         constructor Create(x_1, y_1, b, h:integer; ort: TImage);
         procedure Zeichne; override;

         function InRechteck(x,y,b,h:integer):boolean;

   end;


implementation

{ T_Rechteck }

constructor T_Rechteck.Create(x_1, y_1, b, h: integer; ort: TImage);
begin
   inherited;

   x_ol := x_1;      // Die beiden ersten Variablen stammen von den
   y_ol := y_1;      // geerbten Eigenschaften von T_Punkt;
   breite := b;      // Breite und Hoehe sind notwendige Informationen
   hoehe := h;      // zum Zeichnen eines Rechtecks und werden in der
                    // Klasse Rechteck ergänzt

   Leinwand := ort;

   status := 0;


end;

function T_Rechteck.InRechteck(x, y, b, h: integer): boolean;
begin
//   result := false;

   if ((x + b)  >= x_ol) AND (x <= (x_ol + breite)) AND ((y+h) >= y_ol) AND (y <= (y_ol + hoehe)) then
      result := true
   else
      result := false;

end;




// Diese Prozedur überschreibt die Prozedur von T_Punkt
procedure T_Rechteck.Zeichne;
begin
   Leinwand.Canvas.Brush.Color:= clred;
      Leinwand.Canvas.Rectangle(x_ol,y_ol,x_ol + breite,y_ol + hoehe);
   Leinwand.Canvas.FloodFill(x_ol, y_ol, clBlack, fsBorder);
end;

end.
